package com.juyu.reader.pc.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.juyu.reader.pc.dao.UserDao;
import com.juyu.reader.pc.model.GoldGive;
import com.juyu.reader.pc.model.Order;
import com.juyu.reader.pc.model.User;

@Service
public class UserService {
	@Autowired
	public UserDao userDao;
	@Autowired
	private GoldGiveService goldGiveService;

	public List<User> loginUser(User user) {
		return userDao.loginUser(user);
	}

	public List<User> loginUserByUnionId(User user) {
		return userDao.loginUserByUnionId(user);
	}

	public List<User> loginUserByOpenId(User user) {
		return userDao.loginUserByOpenId(user);
	}

	public List<User> validateUser(User user) {
		return userDao.validateUser(user);
	}

	public List<User> validateUserByUnionId(User user) {
		return userDao.validateUserByUnionId(user);
	}

	public List<User> validateUserByOpenId(User user) {
		return userDao.validateUserByOpenId(user);
	}

	public List<User> findUserById(int userId) {
		return userDao.findUserById(userId);
	}

	public int insertUser(User user) {
		return userDao.insertUser(user);
	}

	public int updateUserGold(Order order) {
		User updateUser = new User();
		updateUser.setUserId(order.getUserId());
		float userGold = order.getOrderAmount() * 100;
		int giveAmount = 0;
		// 10送0 30送5 50送10 100送25
		if (userGold >= 3000) {
			userGold = userGold + 500;
			giveAmount = 500;
		}
		if (userGold >= 5000) {
			userGold = userGold + 1000;
			giveAmount = 1000;
		}
		if (userGold >= 10000) {
			userGold = userGold + 2500;
			giveAmount = 2500;
		}
		GoldGive insertGoldGive = new GoldGive();
		insertGoldGive.setUserId(order.getUserId());
		insertGoldGive.setGoldGiveType(1);// 默认0，1从订单获取，2从用户获取,3首充赠送
		insertGoldGive.setFromOrderNo(order.getOrderNo());
		insertGoldGive.setGoldGiveContent("充值订单" + order.getOrderNo() + "赠送" + giveAmount + "书币");
		insertGoldGive.setGoldGiveAmount(giveAmount);
		goldGiveService.insertGoldGiver(insertGoldGive);

		// // 如果用户是首次充值
		// Order findOrder = new Order();
		// findOrder.setUserId(order.getUserId());
		// findOrder.setOrderStatus(2);
		// List<Order> orderList = orderDaoRead.findOrder(findOrder);
		// // 充值状态更新成功后，一次充值就有一笔记录。
		// if (orderList.size() <= 1) {
		// userGold = userGold + 1000;
		// giveAmount = 1000;
		// GoldGive insertGoldGive = new GoldGive();
		// insertGoldGive.setUserId(order.getUserId());
		// insertGoldGive.setGoldGiveType(3);// 默认0，1从订单获取，2从用户获取,3首充赠送
		// insertGoldGive.setGoldGiveContent("首次充值赠送" + giveAmount + "书币");
		// insertGoldGive.setGoldGiveAmount(giveAmount);
		// goldGiveService.insertGoldGiver(insertGoldGive);
		// }
		updateUser.setUserGold((int) userGold);
		return userDao.updateUserGold(updateUser);
	}

	public int updateUserPayGold(User user) {
		return userDao.updateUserPayGold(user);
	}

	public int updateUserPassword(User user) {
		return userDao.updateUserPassword(user);
	}

	public int updateUserInfo(User user) {
		return userDao.updateUserInfo(user);
	}

	public int resetUserPassword(User user) {
		return userDao.resetUserPassword(user);
	}
	// public int updateUserGold(Order order) {
	// User updateUser = new User();
	// updateUser.setUserId(order.getUserId());
	// float userGold = order.getOrderAmount() * 100;
	// int giveAmount = 0;
	// // 10送0 30送5 50送10 100送25
	// if (userGold >= 3000) {
	// userGold = userGold + 500;
	// giveAmount = 500;
	// }
	// if (userGold >= 5000) {
	// userGold = userGold + 1000;
	// giveAmount = 1000;
	// }
	// if (userGold >= 10000) {
	// userGold = userGold + 2500;
	// giveAmount = 2500;
	// }
	// GoldGive insertGoldGive = new GoldGive();
	// insertGoldGive.setUserId(order.getUserId());
	// insertGoldGive.setGoldGiveType(1);// 默认0，1从订单获取，2从用户获取,3首充赠送
	// insertGoldGive.setFromOrderNo(order.getOrderNo());
	// insertGoldGive.setGoldGiveContent("充值订单" + order.getOrderNo() + "赠送" +
	// giveAmount + "书币");
	// insertGoldGive.setGoldGiveAmount(giveAmount);
	// goldGiveService.insertGoldGiver(insertGoldGive);
	//
	// // // 如果用户是首次充值
	// // Order findOrder = new Order();
	// // findOrder.setUserId(order.getUserId());
	// // findOrder.setOrderStatus(2);
	// // List<Order> orderList = orderDaoRead.findOrder(findOrder);
	// // // 充值状态更新成功后，一次充值就有一笔记录。
	// // if (orderList.size() <= 1) {
	// // userGold = userGold + 1000;
	// // giveAmount = 1000;
	// // GoldGive insertGoldGive = new GoldGive();
	// // insertGoldGive.setUserId(order.getUserId());
	// // insertGoldGive.setGoldGiveType(3);// 默认0，1从订单获取，2从用户获取,3首充赠送
	// // insertGoldGive.setGoldGiveContent("首次充值赠送" + giveAmount + "书币");
	// // insertGoldGive.setGoldGiveAmount(giveAmount);
	// // goldGiveService.insertGoldGiver(insertGoldGive);
	// // }
	// updateUser.setUserGold((int) userGold);
	// return userDaoWrite.updateUserGold(updateUser);
	// }

}
